﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entity.Framework;
using Business.Operations;

namespace HPDMAS.UserControls
{
    public partial class KullaniciBankaHesapBilgileri : System.Web.UI.UserControl
    {
        List<KullaniciHesap> kullaniciHesapListesi;
        private KullaniciHesap k;
        public int kullaniciId;
        public int sehirId;
        /// <summary>
        /// Kontroller
        /// </summary>
        public TextBox txtBankaHesapSahibiIsim;
        public TextBox txtBankaHesapNo;
        public TextBox txtIbanNo;
        public TextBox txtBankaAdi;
        public TextBox txtBankaSubeKodu;
        public TextBox txtVergiDairesiAdi;
        public TextBox txtVergiKimlikNumarasi;

        protected void Page_Load(object sender, EventArgs e)
        {
            GelenIdDegeriIleEntityNesnesiniGetir();
            DetailsViewDoldur();
            DetailsViewIcindekiKontrollerinIdleriniGetir();
        }

        private void DetailsViewIcindekiKontrollerinIdleriniGetir()
        {
            txtBankaHesapSahibiIsim = (TextBox)this.dvKullaniciBankaHesapBilgileri.FindControl("txtBankaHesapSahibiIsim");
            txtBankaHesapNo = (TextBox)this.dvKullaniciBankaHesapBilgileri.FindControl("txtBankaHesapNo");
            txtIbanNo = (TextBox)this.dvKullaniciBankaHesapBilgileri.FindControl("txtIbanNo");
            txtBankaAdi = (TextBox)this.dvKullaniciBankaHesapBilgileri.FindControl("txtBankaAdi");
            txtBankaSubeKodu = (TextBox)this.dvKullaniciBankaHesapBilgileri.FindControl("txtBankaSubeKodu");
            txtVergiDairesiAdi = (TextBox)this.dvKullaniciBankaHesapBilgileri.FindControl("txtVergiDairesiAdi");
            txtVergiKimlikNumarasi = (TextBox)this.dvKullaniciBankaHesapBilgileri.FindControl("txtVergiKimlikNumarasi");
        }

        private void GelenIdDegeriIleEntityNesnesiniGetir()
        {
            k = KullaniciHesapOperation.KullaniciHesapGetByKullaniciId(kullaniciId);
        }

        private void DetailsViewDoldur()
        {
            kullaniciHesapListesi = new List<KullaniciHesap>();
            kullaniciHesapListesi.Add(k);
            dvKullaniciBankaHesapBilgileri.DataSource = kullaniciHesapListesi;
            dvKullaniciBankaHesapBilgileri.DataBind();
        }

        protected void dvKullaniciBankaHesapBilgileri_ModeChanging(object sender, DetailsViewModeEventArgs e)
        {
            if (e.NewMode == DetailsViewMode.Edit)
            {
                dvKullaniciBankaHesapBilgileri.ChangeMode(DetailsViewMode.Edit);
            }
            else if (e.NewMode == DetailsViewMode.Insert)
            {
                dvKullaniciBankaHesapBilgileri.ChangeMode(DetailsViewMode.Insert);
            }
            else
            {
                dvKullaniciBankaHesapBilgileri.ChangeMode(DetailsViewMode.ReadOnly);
            }

            DetailsViewBind();
        }

        private void DetailsViewBind()
        {
            dvKullaniciBankaHesapBilgileri.DataBind();
        }

        protected void dvKullaniciBankaHesapBilgileri_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            KullaniciBankaHesapBilgileriGuncelle();
            DuzenlemeModundanListelemeModunaGeç();
        }

        private void DuzenlemeModundanListelemeModunaGeç()
        {
            dvKullaniciBankaHesapBilgileri.ChangeMode(DetailsViewMode.ReadOnly);
            DetailsViewBind();
        }

        private void KullaniciBankaHesapBilgileriGuncelle()
        {
            k.KullaniciID = kullaniciId;
            k.KullaniciBankaHesapSahibiIsim = txtBankaHesapSahibiIsim.Text.Trim();
            k.KullaniciBankaHesapNo = txtBankaHesapNo.Text.Trim();
            k.KullaniciIBANNo = txtIbanNo.Text.Trim();
            k.KullaniciBankaAdi = txtBankaAdi.Text.Trim();
            k.KullaniciBankaSubeKodu = txtBankaSubeKodu.Text.Trim();
            k.KullaniciVergiDairesiAdi = txtVergiDairesiAdi.Text.Trim();
            k.KullaniciVergiKimlikNumarasi = txtVergiKimlikNumarasi.Text.Trim();
            k.DegisiklikTarihi = DateTime.Now;
            KullaniciHesapOperation.KullaniciHesapUpdate(k);
        }


    }
}